package com.sophossystems.client.asmon.dto;

import java.io.Serializable;
import java.util.Date;

public class RutaDTO implements Serializable{

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	
	protected int idRuta;
	protected boolean idRutaNull;
	protected int idCliente;
	protected boolean idClienteNull;
	protected int idMensajero;
	protected boolean idMensajeroNull;
	protected int idZona;
	protected boolean idZonaNull;
	protected Date fechaRuta;
	protected Date fechaDoc;
	protected String comentarioCierre;
	protected String folioApertura;
	protected int cierreRuta;
	protected boolean cierreRutaNull;
	protected Date fechaCierre;
	
	
	
	/**
	 * @return the idRuta
	 */
	public int getIdRuta() {
		return idRuta;
	}

	/**
	 * @param idRuta the idRuta to set
	 */
	public void setIdRuta(int idRuta) {
		this.idRuta = idRuta;
		this.idRutaNull = false;
	}

	/**
	 * @return the idRutaNull
	 */
	public boolean isIdRutaNull() {
		return idRutaNull;
	}

	/**
	 * @param idRutaNull the idRutaNull to set
	 */
	public void setIdRutaNull(boolean idRutaNull) {
		this.idRutaNull = idRutaNull;
	}

	/**
	 * @return the idCliente
	 */
	public int getIdCliente() {
		return idCliente;
	}

	/**
	 * @param idCliente the idCliente to set
	 */
	public void setIdCliente(int idCliente) {
		this.idCliente = idCliente;
		this.idClienteNull = false;
	}

	/**
	 * @return the idClienteNull
	 */
	public boolean isIdClienteNull() {
		return idClienteNull;
	}

	/**
	 * @param idClienteNull the idClienteNull to set
	 */
	public void setIdClienteNull(boolean idClienteNull) {
		this.idClienteNull = idClienteNull;
	}

	/**
	 * @return the idMensajero
	 */
	public int getIdMensajero() {
		return idMensajero;
	}

	/**
	 * @param idMensajero the idMensajero to set
	 */
	public void setIdMensajero(int idMensajero) {
		this.idMensajero = idMensajero;
		this.idMensajeroNull = false;
	}

	/**
	 * @return the idMensajeroNull
	 */
	public boolean isIdMensajeroNull() {
		return idMensajeroNull;
	}

	/**
	 * @param idMensajeroNull the idMensajeroNull to set
	 */
	public void setIdMensajeroNull(boolean idMensajeroNull) {
		this.idMensajeroNull = idMensajeroNull;
	}

	/**
	 * @return the idZona
	 */
	public int getIdZona() {
		return idZona;
	}

	/**
	 * @param idZona the idZona to set
	 */
	public void setIdZona(int idZona) {
		this.idZona = idZona;
		this.idZonaNull = false;
	}

	/**
	 * @return the idZonaNull
	 */
	public boolean isIdZonaNull() {
		return idZonaNull;
	}

	/**
	 * @param idZonaNull the idZonaNull to set
	 */
	public void setIdZonaNull(boolean idZonaNull) {
		this.idZonaNull = idZonaNull;
	}

	/**
	 * @return the fechaRuta
	 */
	public Date getFechaRuta() {
		return fechaRuta;
	}

	/**
	 * @param fechaRuta the fechaRuta to set
	 */
	public void setFechaRuta(Date fechaRuta) {
		this.fechaRuta = fechaRuta;
	}

	/**
	 * @return the fechaDoc
	 */
	public Date getFechaDoc() {
		return fechaDoc;
	}

	/**
	 * @param fechaDoc the fechaDoc to set
	 */
	public void setFechaDoc(Date fechaDoc) {
		this.fechaDoc = fechaDoc;
	}

	/**
	 * @return the comentarioCierre
	 */
	public String getComentarioCierre() {
		return comentarioCierre;
	}

	/**
	 * @param comentarioCierre the comentarioCierre to set
	 */
	public void setComentarioCierre(String comentarioCierre) {
		this.comentarioCierre = comentarioCierre;
	}

	/**
	 * @return the folioApertura
	 */
	public String getFolioApertura() {
		return folioApertura;
	}

	/**
	 * @param folioApertura the folioApertura to set
	 */
	public void setFolioApertura(String folioApertura) {
		this.folioApertura = folioApertura;
	}

	/**
	 * @return the cierreRuta
	 */
	public int getCierreRuta() {
		return cierreRuta;
	}

	/**
	 * @param cierreRuta the cierreRuta to set
	 */
	public void setCierreRuta(int cierreRuta) {
		this.cierreRuta = cierreRuta;
		this.cierreRutaNull = false;
	}

	/**
	 * @return the cierreRutaNull
	 */
	public boolean isCierreRutaNull() {
		return cierreRutaNull;
	}

	/**
	 * @param cierreRutaNull the cierreRutaNull to set
	 */
	public void setCierreRutaNull(boolean cierreRutaNull) {
		this.cierreRutaNull = cierreRutaNull;
	}

	/**
	 * @return the fechaCierre
	 */
	public Date getFechaCierre() {
		return fechaCierre;
	}

	/**
	 * @param fechaCierre the fechaCierre to set
	 */
	public void setFechaCierre(Date fechaCierre) {
		this.fechaCierre = fechaCierre;
	}

	public RutaDTO(){
		
	}
	
	/**
	 * Method 'equals'
	 * 
	 * @param _other
	 * @return boolean
	 */
	@Override
	public boolean equals(Object _other)
	{
		if (_other == null) {
			return false;
		}
		
		if (_other == this) {
			return true;
		}
		
		if (!(_other instanceof RutaDTO)) {
			return false;
		}
		
		final RutaDTO _cast = (RutaDTO) _other;
		if (idRuta != _cast.idRuta) {
			return false;
		}
		
		if (idRutaNull != _cast.idRutaNull) {
			return false;
		}
		
		if (idCliente != _cast.idCliente) {
			return false;
		}
		
		if (idClienteNull != _cast.idClienteNull) {
			return false;
		}
		
		if (idMensajero != _cast.idMensajero) {
			return false;
		}
		
		if (idMensajeroNull != _cast.idMensajeroNull) {
			return false;
		}
		
		if (idZona != _cast.idZona) {
			return false;
		}
		
		if (idZonaNull != _cast.idZonaNull) {
			return false;
		}
		
		if (fechaRuta == null ? _cast.fechaRuta != fechaRuta : !fechaRuta.equals( _cast.fechaRuta )) {
			return false;
		}
		
		if (fechaDoc == null ? _cast.fechaDoc != fechaDoc : !fechaDoc.equals( _cast.fechaDoc )) {
			return false;
		}
		
		if (comentarioCierre == null ? _cast.comentarioCierre != comentarioCierre : !comentarioCierre.equals( _cast.comentarioCierre )) {
			return false;
		}
		
		if (folioApertura == null ? _cast.folioApertura != folioApertura : !folioApertura.equals( _cast.folioApertura )) {
			return false;
		}
		
		if (cierreRuta != _cast.cierreRuta) {
			return false;
		}
		
		if (cierreRutaNull != _cast.cierreRutaNull) {
			return false;
		}
		
		if (fechaCierre == null ? _cast.fechaCierre != fechaCierre : !fechaCierre.equals( _cast.fechaCierre )) {
			return false;
		}
		
		return true;
	}

	/**
	 * Method 'hashCode'
	 * 
	 * @return int
	 */
	@Override
	public int hashCode()
	{
		int _hashCode = 0;
		_hashCode = 29 * _hashCode + idRuta;
		_hashCode = 29 * _hashCode + (idRutaNull ? 1 : 0);
		_hashCode = 29 * _hashCode + idCliente;
		_hashCode = 29 * _hashCode + (idClienteNull ? 1 : 0);
		_hashCode = 29 * _hashCode + idMensajero;
		_hashCode = 29 * _hashCode + (idMensajeroNull ? 1 : 0);
		_hashCode = 29 * _hashCode + idZona;
		_hashCode = 29 * _hashCode + (idZonaNull ? 1 : 0);
		
		if (fechaRuta != null) {
			_hashCode = 29 * _hashCode + fechaRuta.hashCode();
		}
		
		if (fechaDoc != null) {
			_hashCode = 29 * _hashCode + fechaDoc.hashCode();
		}
		
		if (comentarioCierre != null) {
			_hashCode = 29 * _hashCode + comentarioCierre.hashCode();
		}
		
		if (folioApertura != null) {
			_hashCode = 29 * _hashCode + folioApertura.hashCode();
		}
		
		_hashCode = 29 * _hashCode + cierreRuta;
		_hashCode = 29 * _hashCode + (cierreRutaNull ? 1 : 0);
		
		if (fechaRuta != null) {
			_hashCode = 29 * _hashCode + fechaRuta.hashCode();
		}
		
		return _hashCode;
	}

	/**
	 * Method 'createPk'
	 * 
	 * @return UserPk
	 */
	public RutaPkDTO createPk()
	{
		return new RutaPkDTO(idRuta);
	}

	/**
	 * Method 'toString'
	 * 
	 * @return String
	 */
	@Override
	public String toString()
	{
		StringBuffer ret = new StringBuffer();
		ret.append( "com.sophossystems.client.asmon.dto.RutaDTO: " );
		ret.append( "idRuta=" + idRuta );
		ret.append( ", idCliente=" + idCliente );
		ret.append( ", idMensajero=" + idMensajero );
		ret.append( ", idZona=" + idZona );
		ret.append( ", fechaRuta=" + fechaRuta );
		ret.append( ", fechaDoc=" + fechaDoc );
		ret.append( ", comentarioCierre=" + comentarioCierre );
		ret.append( ", folioApertura=" + folioApertura );
		ret.append( ", cierreRuta=" + cierreRuta );
		ret.append( ", fechaCierre=" + fechaCierre );
		return ret.toString();
	}

	
}
